export const PRODUCT_AKISMET_FREE = 'ak_free_yearly';
export const PRODUCT_AKISMET_PERSONAL_MONTHLY = 'ak_personal_monthly';
export const PRODUCT_AKISMET_PERSONAL_YEARLY = 'ak_personal_yearly';
export const PRODUCT_AKISMET_PLUS_BI_YEARLY = 'ak_plus_bi_yearly_1';
export const PRODUCT_AKISMET_PLUS_YEARLY = 'ak_plus_yearly_1';
export const PRODUCT_AKISMET_PLUS_MONTHLY = 'ak_plus_monthly_1';
export const PRODUCT_AKISMET_PLUS_20K_BI_YEARLY = 'ak_plus_bi_yearly_2';
export const PRODUCT_AKISMET_PLUS_20K_YEARLY = 'ak_plus_yearly_2';
export const PRODUCT_AKISMET_PLUS_20K_MONTHLY = 'ak_plus_monthly_2';
export const PRODUCT_AKISMET_PLUS_30K_BI_YEARLY = 'ak_plus_bi_yearly_3';
export const PRODUCT_AKISMET_PLUS_30K_YEARLY = 'ak_plus_yearly_3';
export const PRODUCT_AKISMET_PLUS_30K_MONTHLY = 'ak_plus_monthly_3';
export const PRODUCT_AKISMET_PLUS_40K_BI_YEARLY = 'ak_plus_bi_yearly_4';
export const PRODUCT_AKISMET_PLUS_40K_YEARLY = 'ak_plus_yearly_4';
export const PRODUCT_AKISMET_PLUS_40K_MONTHLY = 'ak_plus_monthly_4';
export const PRODUCT_AKISMET_ENTERPRISE_BI_YEARLY = 'ak_ent_bi_yearly_1';
export const PRODUCT_AKISMET_ENTERPRISE_YEARLY = 'ak_ent_yearly_1';
export const PRODUCT_AKISMET_ENTERPRISE_MONTHLY = 'ak_ent_monthly_1';
export const PRODUCT_AKISMET_ENTERPRISE_350K_YEARLY = 'ak_ep350k_yearly_1';
export const PRODUCT_AKISMET_ENTERPRISE_350K_MONTHLY = 'ak_ep350k_monthly_1';
export const PRODUCT_AKISMET_ENTERPRISE_2M_YEARLY = 'ak_ep2m_yearly_1';
export const PRODUCT_AKISMET_ENTERPRISE_2M_MONTHLY = 'ak_ep2m_monthly_1';
export const PRODUCT_AKISMET_ENTERPRISE_GT2M_YEARLY = 'ak_epgt2m_yearly_1';
export const PRODUCT_AKISMET_ENTERPRISE_GT2M_MONTHLY = 'ak_epgt2m_monthly_1';
export const PRODUCT_AKISMET_PRO_500_MONTHLY = 'ak_pro5h_monthly';
export const PRODUCT_AKISMET_PRO_500_YEARLY = 'ak_pro5h_yearly';
export const PRODUCT_AKISMET_PRO_500_BI_YEARLY = 'ak_pro5h_bi_yearly';
export const PRODUCT_AKISMET_BUSINESS_5K_MONTHLY = 'ak_bus5k_monthly';
export const PRODUCT_AKISMET_BUSINESS_5K_YEARLY = 'ak_bus5k_yearly';
export const PRODUCT_AKISMET_BUSINESS_5K_BI_YEARLY = 'ak_bus5k_bi_yearly';
export const PRODUCT_AKISMET_ENTERPRISE_15K_MONTHLY = 'ak_ep15k_monthly';
export const PRODUCT_AKISMET_ENTERPRISE_15K_YEARLY = 'ak_ep15k_yearly';
export const PRODUCT_AKISMET_ENTERPRISE_15K_BI_YEARLY = 'ak_ep15k_bi_yearly';
export const PRODUCT_AKISMET_ENTERPRISE_25K_MONTHLY = 'ak_ep25k_monthly';
export const PRODUCT_AKISMET_ENTERPRISE_25K_YEARLY = 'ak_ep25k_yearly';
export const PRODUCT_AKISMET_ENTERPRISE_25K_BI_YEARLY = 'ak_ep25k_bi_yearly';

export const AKISMET_PLUS_10K_PRODUCTS = < const >[
	PRODUCT_AKISMET_PLUS_MONTHLY,
	PRODUCT_AKISMET_PLUS_YEARLY,
	PRODUCT_AKISMET_PLUS_BI_YEARLY,
];

export const AKISMET_PLUS_20K_PRODUCTS = < const >[
	PRODUCT_AKISMET_PLUS_20K_MONTHLY,
	PRODUCT_AKISMET_PLUS_20K_YEARLY,
	PRODUCT_AKISMET_PLUS_20K_BI_YEARLY,
];

export const AKISMET_PLUS_30K_PRODUCTS = < const >[
	PRODUCT_AKISMET_PLUS_30K_MONTHLY,
	PRODUCT_AKISMET_PLUS_30K_YEARLY,
	PRODUCT_AKISMET_PLUS_30K_BI_YEARLY,
];

export const AKISMET_PLUS_40K_PRODUCTS = < const >[
	PRODUCT_AKISMET_PLUS_40K_MONTHLY,
	PRODUCT_AKISMET_PLUS_40K_YEARLY,
	PRODUCT_AKISMET_PLUS_40K_BI_YEARLY,
];

export const AKISMET_ENTERPRISE_350K_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_350K_MONTHLY,
	PRODUCT_AKISMET_ENTERPRISE_350K_YEARLY,
];

export const AKISMET_ENTERPRISE_2M_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_2M_MONTHLY,
	PRODUCT_AKISMET_ENTERPRISE_2M_YEARLY,
];

export const AKISMET_PERSONAL_MONTHLY_PRODUCTS = < const >[ PRODUCT_AKISMET_PERSONAL_MONTHLY ];

export const AKISTMET_PLUS_MONTHLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_PLUS_MONTHLY,
	PRODUCT_AKISMET_PLUS_20K_MONTHLY,
	PRODUCT_AKISMET_PLUS_30K_MONTHLY,
	PRODUCT_AKISMET_PLUS_40K_MONTHLY,
];

export const AKISMET_BUSINESS_MONTHLY_PRODUCTS = < const >[ PRODUCT_AKISMET_ENTERPRISE_MONTHLY ];

export const AKISMET_ENTERPRISE_MONTHLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_350K_MONTHLY,
	PRODUCT_AKISMET_ENTERPRISE_2M_MONTHLY,
	PRODUCT_AKISMET_ENTERPRISE_GT2M_MONTHLY,
];

export const AKISMET_PERSONAL_YEARLY_PRODUCTS = < const >[ PRODUCT_AKISMET_PERSONAL_YEARLY ];

export const AKISMET_PLUS_YEARLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_PLUS_YEARLY,
	PRODUCT_AKISMET_PLUS_20K_YEARLY,
	PRODUCT_AKISMET_PLUS_30K_YEARLY,
	PRODUCT_AKISMET_PLUS_40K_YEARLY,
];

export const AKISMET_BUSINESS_YEARLY_PRODUCTS = < const >[ PRODUCT_AKISMET_ENTERPRISE_YEARLY ];

export const AKISMET_ENTERPRISE_YEARLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_350K_YEARLY,
	PRODUCT_AKISMET_ENTERPRISE_2M_YEARLY,
	PRODUCT_AKISMET_ENTERPRISE_GT2M_YEARLY,
];

export const AKISMET_PLUS_BI_YEARLY_PROODUCTS = < const >[
	PRODUCT_AKISMET_PLUS_BI_YEARLY,
	PRODUCT_AKISMET_PLUS_20K_BI_YEARLY,
	PRODUCT_AKISMET_PLUS_30K_BI_YEARLY,
	PRODUCT_AKISMET_PLUS_40K_BI_YEARLY,
];

export const AKISMET_BUSINESS_BI_YEARLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_BI_YEARLY,
];

export const AKISMET_FREE_PRODUCTS = < const >[ PRODUCT_AKISMET_FREE ];

export const AKISMET_PRO_500_PRODUCTS = < const >[
	PRODUCT_AKISMET_PRO_500_MONTHLY,
	PRODUCT_AKISMET_PRO_500_YEARLY,
	PRODUCT_AKISMET_PRO_500_BI_YEARLY,
];
export const AKISMET_PRO_500_MONTHLY_PRODUCTS = < const >[ PRODUCT_AKISMET_PRO_500_MONTHLY ];
export const AKISMET_PRO_500_YEARLY_PRODUCTS = < const >[ PRODUCT_AKISMET_PRO_500_YEARLY ];
export const AKISMET_PRO_500_BI_YEARLY_PRODUCTS = < const >[ PRODUCT_AKISMET_PRO_500_BI_YEARLY ];

export const AKISMET_BUSINESS_5K_PRODUCTS = < const >[
	PRODUCT_AKISMET_BUSINESS_5K_MONTHLY,
	PRODUCT_AKISMET_BUSINESS_5K_YEARLY,
	PRODUCT_AKISMET_BUSINESS_5K_BI_YEARLY,
];
export const AKISMET_BUSINESS_5K_MONTHLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_BUSINESS_5K_MONTHLY,
];
export const AKISMET_BUSINESS_5K_YEARLY_PRODUCTS = < const >[ PRODUCT_AKISMET_BUSINESS_5K_YEARLY ];
export const AKISMET_BUSINESS_5K_BI_YEARLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_BUSINESS_5K_BI_YEARLY,
];

export const AKISMET_ENTERPRISE_15K_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_15K_MONTHLY,
	PRODUCT_AKISMET_ENTERPRISE_15K_YEARLY,
	PRODUCT_AKISMET_ENTERPRISE_15K_BI_YEARLY,
];
export const AKISMET_ENTERPRISE_15K_MONTHLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_15K_MONTHLY,
];
export const AKISMET_ENTERPRISE_15K_YEARLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_15K_YEARLY,
];
export const AKISMET_ENTERPRISE_15K_BI_YEARLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_15K_BI_YEARLY,
];

export const AKISMET_ENTERPRISE_25K_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_25K_MONTHLY,
	PRODUCT_AKISMET_ENTERPRISE_25K_YEARLY,
	PRODUCT_AKISMET_ENTERPRISE_25K_BI_YEARLY,
];
export const AKISMET_ENTERPRISE_25K_MONTHLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_25K_MONTHLY,
];
export const AKISMET_ENTERPRISE_25K_YEARLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_25K_YEARLY,
];
export const AKISMET_ENTERPRISE_25K_BI_YEARLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_ENTERPRISE_25K_BI_YEARLY,
];

export const AKISMET_PERSONAL_PRODUCTS = < const >[
	...AKISMET_PERSONAL_MONTHLY_PRODUCTS,
	...AKISMET_PERSONAL_YEARLY_PRODUCTS,
];

export const AKISMET_PLUS_PRODUCTS = < const >[
	...AKISMET_PRO_500_PRODUCTS,
	...AKISTMET_PLUS_MONTHLY_PRODUCTS,
	...AKISMET_PLUS_YEARLY_PRODUCTS,
	...AKISMET_PLUS_BI_YEARLY_PROODUCTS,
];

export const AKISMET_BUSINESS_PRODUCTS = < const >[
	...AKISMET_BUSINESS_5K_PRODUCTS,
	...AKISMET_BUSINESS_MONTHLY_PRODUCTS,
	...AKISMET_BUSINESS_YEARLY_PRODUCTS,
	...AKISMET_BUSINESS_BI_YEARLY_PRODUCTS,
];

export const AKISMET_ENTERPRISE_PRODUCTS = < const >[
	...AKISMET_ENTERPRISE_15K_PRODUCTS,
	...AKISMET_ENTERPRISE_25K_PRODUCTS,
	...AKISMET_ENTERPRISE_MONTHLY_PRODUCTS,
	...AKISMET_ENTERPRISE_YEARLY_PRODUCTS,
];

export const AKISMET_MONTHLY_PRODUCTS = < const >[
	...AKISMET_PERSONAL_MONTHLY_PRODUCTS,
	...AKISTMET_PLUS_MONTHLY_PRODUCTS,
	...AKISMET_BUSINESS_MONTHLY_PRODUCTS,
	...AKISMET_ENTERPRISE_MONTHLY_PRODUCTS,
	...AKISMET_PRO_500_MONTHLY_PRODUCTS,
	...AKISMET_BUSINESS_5K_MONTHLY_PRODUCTS,
	...AKISMET_ENTERPRISE_15K_MONTHLY_PRODUCTS,
	...AKISMET_ENTERPRISE_25K_MONTHLY_PRODUCTS,
];

export const AKISMET_YEARLY_PRODUCTS = < const >[
	PRODUCT_AKISMET_FREE,
	...AKISMET_PERSONAL_YEARLY_PRODUCTS,
	...AKISMET_PLUS_YEARLY_PRODUCTS,
	...AKISMET_BUSINESS_YEARLY_PRODUCTS,
	...AKISMET_ENTERPRISE_YEARLY_PRODUCTS,
	...AKISMET_PRO_500_YEARLY_PRODUCTS,
	...AKISMET_BUSINESS_5K_YEARLY_PRODUCTS,
	...AKISMET_ENTERPRISE_15K_YEARLY_PRODUCTS,
	...AKISMET_ENTERPRISE_25K_YEARLY_PRODUCTS,
];

export const AKISMET_BI_YEARLY_PRODUCTS = < const >[
	...AKISMET_PLUS_BI_YEARLY_PROODUCTS,
	...AKISMET_BUSINESS_BI_YEARLY_PRODUCTS,
	...AKISMET_PRO_500_BI_YEARLY_PRODUCTS,
	...AKISMET_BUSINESS_5K_BI_YEARLY_PRODUCTS,
	...AKISMET_ENTERPRISE_15K_BI_YEARLY_PRODUCTS,
	...AKISMET_ENTERPRISE_25K_BI_YEARLY_PRODUCTS,
];

export const AKISMET_PRODUCTS_LIST = < const >[
	PRODUCT_AKISMET_FREE,
	...AKISMET_PERSONAL_PRODUCTS,
	...AKISMET_PLUS_PRODUCTS,
	...AKISMET_BUSINESS_PRODUCTS,
	...AKISMET_ENTERPRISE_PRODUCTS,
];

export const AKISMET_UPGRADES_PRODUCTS_MAP = {
	[ PRODUCT_AKISMET_FREE ]: `/checkout/akismet/${ PRODUCT_AKISMET_PERSONAL_YEARLY }:-q-36`,
	// This upgrade path should never be used in it's current form, PRODUCT_AKISMET_PERSONAL_MONTHLY is not a sellable product
	[ PRODUCT_AKISMET_PERSONAL_MONTHLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_PRO_500_MONTHLY }`,
	[ PRODUCT_AKISMET_PERSONAL_YEARLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_PRO_500_YEARLY }`,
	[ PRODUCT_AKISMET_PRO_500_MONTHLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_BUSINESS_5K_MONTHLY }`,
	[ PRODUCT_AKISMET_PRO_500_YEARLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_BUSINESS_5K_YEARLY }`,
	[ PRODUCT_AKISMET_PRO_500_BI_YEARLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_BUSINESS_5K_BI_YEARLY }`,
	[ PRODUCT_AKISMET_BUSINESS_5K_MONTHLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_ENTERPRISE_15K_MONTHLY }`,
	[ PRODUCT_AKISMET_BUSINESS_5K_YEARLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_ENTERPRISE_15K_YEARLY }`,
	[ PRODUCT_AKISMET_BUSINESS_5K_BI_YEARLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_ENTERPRISE_15K_BI_YEARLY }`,
	[ PRODUCT_AKISMET_ENTERPRISE_15K_MONTHLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_ENTERPRISE_25K_MONTHLY }`,
	[ PRODUCT_AKISMET_ENTERPRISE_15K_YEARLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_ENTERPRISE_25K_YEARLY }`,
	[ PRODUCT_AKISMET_ENTERPRISE_15K_BI_YEARLY ]: `/checkout/akismet/${ PRODUCT_AKISMET_ENTERPRISE_25K_BI_YEARLY }`,
	[ PRODUCT_AKISMET_ENTERPRISE_25K_MONTHLY ]: 'https://akismet.com/enterprise',
	[ PRODUCT_AKISMET_ENTERPRISE_25K_YEARLY ]: 'https://akismet.com/enterprise',
	[ PRODUCT_AKISMET_ENTERPRISE_25K_BI_YEARLY ]: 'https://akismet.com/enterprise',
};

export const PRODUCT_AKISMET_PRO_500_UPGRADE_MAP = {
	[ PRODUCT_AKISMET_PRO_500_MONTHLY ]: { id: 2335, slug: PRODUCT_AKISMET_BUSINESS_5K_MONTHLY },
	[ PRODUCT_AKISMET_PRO_500_YEARLY ]: { id: 2336, slug: PRODUCT_AKISMET_BUSINESS_5K_YEARLY },
	[ PRODUCT_AKISMET_PRO_500_BI_YEARLY ]: { id: 2337, slug: PRODUCT_AKISMET_BUSINESS_5K_BI_YEARLY },
};

export const PRODUCT_AKISMET_BUSINESS_5K_DOWNGRADE_MAP = {
	[ PRODUCT_AKISMET_BUSINESS_5K_MONTHLY ]: { id: 2332, slug: PRODUCT_AKISMET_PRO_500_MONTHLY },
	[ PRODUCT_AKISMET_BUSINESS_5K_YEARLY ]: { id: 2333, slug: PRODUCT_AKISMET_PRO_500_YEARLY },
	[ PRODUCT_AKISMET_BUSINESS_5K_BI_YEARLY ]: { id: 2334, slug: PRODUCT_AKISMET_PRO_500_BI_YEARLY },
};
